]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
messageTray: hide removed notification without tweening
authorMarina Zhurakhinskaya <marinaz@redhat.com>
Sun, 19 Aug 2012 22:21:50 +0000 (18:21 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Mon, 20 Aug 2012 01:15:51 +0000 (21:15 -0400)
This reflects more accurately what happens when a notification is removed.

this._pointerInTray value needs to be set to false in this case.

js/ui/messageTray.js

index 5958a873d32e14daac29d2b7c85b05e6882a1e66..39f9268d1d4d567bfc14e0d7562d694becb6a366 100644 (file)
@@ -2117,19 +2117,27 @@ const MessageTray = new Lang.Class({
             this._notificationExpandedId = 0;
         }
 
-        this._tween(this._notificationBin, '_notificationState', State.HIDDEN,
-                    { y: this.actor.height,
-                      opacity: 0,
-                      time: ANIMATION_TIME,
-                      transition: 'easeOutQuad',
-                      onComplete: this._hideNotificationCompleted,
-                      onCompleteScope: this
-                    });
+        if (this._notificationRemoved) {
+            this._notificationBin.y = this.actor.height;
+            this._notificationBin.opacity = 0;
+            this._notificationState = State.HIDDEN;
+            this._hideNotificationCompleted();
+        } else {
+            this._tween(this._notificationBin, '_notificationState', State.HIDDEN,
+                        { y: this.actor.height,
+                          opacity: 0,
+                          time: ANIMATION_TIME,
+                          transition: 'easeOutQuad',
+                          onComplete: this._hideNotificationCompleted,
+                          onCompleteScope: this
+                        });
+        }
     },
 
     _hideNotificationCompleted: function() {
         this._notificationRemoved = false;
         this._notificationBin.hide();
+        this._pointerInTray = false;
         this._notificationBin.child = null;
         this._notification.collapseCompleted();
         this._notification.disconnect(this._notificationClickedId);